Print management method and apparatus with destination panel

ABSTRACT

A method for managing printers, implemented in a print job management apparatus, is provided. The method includes displaying a list of the printers and a list of one or more virtual printing devices on a display monitor, each virtual printing device being defined by designating one or more of the printers together with pre-defined rules for processing a print job, receiving a command from a user to select a virtual printing device, and in response to said command, visually distinguishing the one or more of the printers designated by the selected virtual printing device among the printers listed on the display monitor.

This application cross-references and incorporates by reference thefollowing U.S. patent applications in their entireties:

-   1. U.S. patent application Ser. No. 11/394,526, filed on Mar. 31,    2006, entitled “PRINT JOB MANAGEMENT METHOD AND APPARATUS WITH    GROUPING FUNCTION” by Geoff W. HARMAN, Toshiro FUJIMORI, Rakesh    PANDIT, and Shigenori MATSUBARA.-   2. U.S. patent application Ser. No. 11/395,520, filed on Mar. 31,    2006, entitled “PRINT JOB ANALYZING METHOD AND APPARATUS” by    Geoff W. HARMAN, Toshiro FUJIMORI, Rakesh PANDIT, and Shigenori    MATSUBARA.-   3. U.S. patent application Ser. No. 11/395, 584, filed on Mar. 31,    2006, entitled “PRINT MANAGEMENT METHOD AND APPARATUS WITH MULTIPLE    VIEWS” by Toshiro FUJIMORI, Geoff W. HARMAN, Rakesh PANDIT, and    Shigenori MATSUBARA.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to print management method and apparatus, andmore particularly, to printer management method and apparatus formanaging a plurality of printers.

2. Description of Related Art

In an environment that processes a large number of print jobs withmultiple printers, there has been a need to manage print jobsefficiently in an organized fashion. Examples of such an environment areprofessional print shops and print/copy departments at largeorganizations, where a variety of print requests, such as large-volumeduplication and large document printing, needs to be processed andcompleted by utilizing multiple printers within a short turn-aroundtime. These environments are collectively referred to as “print shops”in this application. Typically, each printing job specifies a sourcefile that electrically contains a document to be printed, the size,color and the type of the paper on which the document should be printed,the printing resolution, duplex or single-side printing, and certainfinishing conditions, such as book, staple, collate printing, etc.,depending on a print job requester's needs. In order to process a largevolume of print jobs that each differ in terms of these job parameters,a print shop utilizes multiple commercial grade printers. Typically, oneor more black & white (B&W) printers are in operation to process B&Wprinting. Color printers are also installed to handle color printing.Each of these printers, however, has limitations on available printersettings, such as the paper size, the paper type, resolution settings,etc. When a large volume of printing jobs is to be handled with multipleB&W and color printers, it is a daunting task to assign each printingjob to an appropriate printer.

SUMMARY OF THE INVENTION

Accordingly, the present invention is directed to a print managementmethod and apparatus that substantially obviates one or more of theproblems due to limitations and disadvantages of the related art.

An object of the present invention is to provide an improved printmanagement method and apparatus.

Additional or separate features and advantages of the invention will beset forth in the descriptions that follow and in part will be apparentfrom the description, or may be learned by practice of the invention.The objectives and other advantages of the invention will be realizedand attained by the structure particularly pointed out in the writtendescription and claims thereof as well as the appended drawings.

To achieve these and other advantages and in accordance with the purposeof the present invention, as embodied and broadly described, in oneaspect, the present invention provides a method for managing printers,implemented in a print job management apparatus connected to theprinters, the print job management apparatus being connected to adisplay monitor, the method including displaying a list of the printersand a list of one or more virtual printing devices on the displaymonitor, each virtual printing device being defined by designating oneor more of the printers together with pre-defined rules for processing aprint job, receiving a command from a user to select a virtual printingdevice; and in response to said command, visually distinguishing the oneor more of the printers designated by the selected virtual printingdevice among the printers listed on the display monitor.

In another aspect, the present invention provides a method for managingprinters, implemented in a print job management apparatus connected tothe printers, the print job management apparatus having a displaymonitor, the method including determining availability of each of theprinters in accordance with a pre-defined criteria, and displaying alist of the printers together with the availabilities of the printers onthe display monitor.

In another aspect, the present invention provides a computer programproduct including a computer usable medium having a computer readablecode embodied therein for controlling a data processing apparatusconnected to printers, the data processing apparatus being connected toa display monitor, the computer readable program code being configuredto cause the data processing apparatus to execute a process for managingthe printers, the process including causing the display monitor todisplay a list of the printers and a list of one or more virtualprinting devices, each virtual printing device being defined bydesignating one or more of the printers together with pre-defined rulesfor processing a print job, receiving a command from a user to select avirtual printing device, and in response to said command, causing thedisplay monitor to visually distinguish the one or more of the printersdesignated by the selected virtual printing device among the printerslisted on the display monitor.

In another aspect, the present invention provides a computer programproduct including a computer usable medium having a computer readablecode embodied therein for controlling a data processing apparatusconnected to printers, the data processing apparatus being connected toa display monitor, the computer readable program code being configuredto cause the data processing apparatus to execute a process for managingthe printers, the process including determining availability of each ofthe printers in accordance with a pre-defined criteria, and causing thedisplay monitor to display a list of the printers together with theavailabilities of the printers.

In another aspect, the present invention provides an apparatus formanaging printers, including printers; a display monitor; and a dataprocessor connected to the printers and the display monitor, the dataprocessor causing the display monitor to display a list of the printersand a list of one or more virtual printing devices, each virtualprinting device being defined by designating one or more of the printerstogether with pre-defined rules for processing a print job; the dataprocessor being configured to receive a command from a user to select avirtual printing device, the data processor, in response to saidcommand, causing the display monitor to visually distinguish the one ormore of the printers designated by the selected virtual printing deviceamong the printers listed on the display monitor.

It is to be understood that both the foregoing general description andthe following detailed description are exemplary and explanatory, andare intended to provide further explanation of the invention as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 schematically illustrates a print management system havingmultiple printers.

FIG. 2 schematically illustrates a Main Screen that appears on a displayof a print job management apparatus according to an embodiment of thepresent invention.

FIG. 3 schematically illustrates a method of managing printers inaccordance with an embodiment of the present invention.

FIG. 4 schematically illustrates a data content of a Job Ticketaccording to an embodiment of the present invention.

FIG. 5 is a flow chart illustrating a method for managing a plurality ofprint jobs according to an embodiment of the present invention.

FIG. 6 schematically illustrates an In Box Panel screen according to anembodiment of the present invention.

FIG. 7 schematically illustrates a Group Editor screen according to anembodiment of the present invention.

FIG. 8 is a flow chart illustrating a grouping method according to anembodiment of the present invention.

FIG. 9 is a flow chart illustrating a grouping method according to anembodiment of the present invention.

FIG. 10 schematically illustrates an example of a Queue Panel for aspecified print job according to an embodiment of the present invention.

FIG. 11 schematically illustrates an example of a View Recommends Panelaccording to an embodiment of the present invention.

FIG. 12 schematically illustrates another example of a View RecommendsPanel according to an embodiment of the present invention.

FIG. 13 schematically illustrates an example a Selection Panel accordingto an embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

According to embodiments of the present invention, a large number ofprint jobs can be speedily and efficiently processed. FIG. 1 illustratesan example of a print management system in a print shop having multipleprinters according to an embodiment of the present invention. Clientcomputers 1 and 2 are connected to a server 4 via a local area network(LAN). Scanner 3 is also connected to server 4 via the LAN. In thisexample, B&W printers 5, 6, and 7 and color printers 8 and 9 areconnected to the server through the LAN.

In this example, printers 5-9 are commercial standard high-end printersthat can handle high speed, high quality printing. Each of the printers5-9 has multiple paper trays to store paper of various sizes, color, andtypes. Further, some of the printers 5-9 are equipped with asophisticated output sorting mechanism with multiple output trays toperform collate printing or other print finishing functions. Eachprinter has one or more display monitors to display the status of theprinting and various warning and instruction messages to a user. Eachprinter is equipped with its own central processing unit (CPU) andappropriate hardware/software to control its own printing operations,and communicates with server 4 via a LAN. Some of these printers mayalso be multifunction printers that can perform copying and scanning ofdocuments. Appropriate server software is installed in server 4 toperform various standard network administrative functions.

In this embodiment, in addition to the server administrative software,print job management software is installed on server 4 for managing alarge number of print jobs that come into a print shop. Once a printshop operator calls the print job management software, server 4 readsout the print job management software to a random access memory (RAM) ofthe server to carry out various functions of the software, includingmanagement of print jobs.

A print job is a print request specifying various desired optionstogether with a document to be printed. For example, a customer maybring a floppy diskette containing a file in the PDF format for printingwith a particular finishing option. The print shop operator asks thecustomer what kind of print jobs is desired to figure out print jobparameters. Alternatively, the customer may be asked to fill out aquestionnaire sheet to describe what print options he/she desires. Forexample, the customer may desire that the document be printed on 24 lb25% cotton letter size paper in full color in the double-sided printingmode in the amount of 100 copies. The print shop operator then recordsthese job parameter values along with customer information as a file andstore the file and the source PDF file onto the hard disk drive or othersecured storage device so that the print job parameters are associatedwith the file.

Print jobs also may be generated by a customer's requests to copy adocument. When a customer brings a document for copying, the shopoperator scans the document using scanner 3 (which may be a color and/orB&W scanner) and converts the document into a digital file andthereafter creates a data file associated with the scanned sourcedocument in a manner similar to above.

Theses data files representing print jobs and associated files areforwarded to server 4. This way, numerous print jobs are generated andcollected by server 4 on which print job management software is running.

The print job management server 4 running print job management softwarereceives the print job files and analyzes and processes the print jobs.The print job management software preferably is designed to run onWindows OS, Macintosh OS, or Unix X Windows or other popular computeroperating systems implementing a GUI (graphic user interface), such as atouchscreen and/or a mouse and a keyboard, coupled with a displaymonitor. Server 4 (or any suitable data processing apparatus) runningprint job management software of embodiments of the present invention ishereinafter referred to as “print job management server.” In thisapplication, the terms “print job management server” and “print jobmanagement apparatus” broadly refer to any data processing apparatusthat can implement various features of embodiments of the presentinvention described below with appropriate hardware/software.

Main Screen

In order to process numerous print jobs using multiple printers in anefficient and organized manner, the print job management server 4according to embodiments of the present invention presents a Main Screenshown in FIG. 2 on a display monitor of the server 4 (or on a monitor ofclient computer 1 or 2 or on a monitor of any one of the printers 5-9when remote access to the print job management software is possible atthe client computer or the printer). Referring to FIG. 2, the In BoxPanel contains all new incoming print jobs sent to the print jobmanagement server 4 under the header of “Incoming Jobs.” One row in theIn Box Panel contains one print job. Print jobs listed in the “IncomingJobs” in the In Box Panel have not yet been assigned to a printer(s).The Job Ticket Number column lists job numbers assigned to respectiveprint jobs. Values of select job parameters, such as Paper Size, PaperType, Document Color, Job Types, the number of copies/prints, etc., arealso indicated in the In Box Panel.

The Printer Jobs Panel displays active jobs in all the printersmonitored by the print job management server 4. The Completed Jobs Paneldisplays completed or cancelled print jobs. At the right-hand side ofthe Main Screen of FIG. 2 is the Destination Panel indicating all theconnected printing devices for processing print jobs.

Destination Panel

As seen from FIG. 2, numerous print jobs must be assigned to appropriateprinting devices, respectively. In one embodiment, the Destination Paneldisplays icons of printing devices and is divided into two sections:Printers and Clusters/Virtual Queues. The Printers pane shows icons ofactual physical printers that are connected to the server. TheClusters/Virtual Queues pane shows Clusters and Virtual Queues. Clustersand Virtual Queues are software-defined virtual printing devices towhich print jobs can be submitted for performing designated printingoperations, and will be described in more detail below.

The operator can drag and drop a print job from any of the Inbox,Printer Jobs Panel and Completed Jobs Panel to one of the iconsdisplayed in the Destination panel. The result is that the print jobmanagement server forwards the print job to the selected printing deviceso that the designated Printer (or Cluster or Virtual Queue) startsprocessing the corresponding printing operation. As a result, the printjob entry in the In Box Panel moves to the Printer Jobs Panel. Once theprint job is completed, the job entry moves from the Printer Jobs Panelto the Completed Jobs Panel.

A Cluster is a software-defined virtual printing device designed toperform a certain class of print jobs more efficiently and accurately.It is a combination of two or more of printers with a specifiedrules/algorithm. When a print job is assigned to a Cluster, the printjob is split into two or more jobs by preset or user-definedrules/algorithm, and the divided jobs are processed by the respectiveprinters designated by the Cluster. For example, suppose that a printjob (Job No. 12345) containing 10 color pages and 20 B&W pages issubmitted to a Cluster that combines Color Printer 1 and BW Printer 1with a rule requiring all color pages to be printed by Color Printer 1and all B&W pages to be printed by B&W Printer 1. Then, the print job isdivided into job 1 containing all color pages and job 2 containing theremaining B&W pages. Thereafter, job 1 is sent to the Color Printer 1and job 2 is sent to B&W Printer 2 for respective printing operations.

In this particular embodiment, a five (5)-digit job number is assignedto a new print job, and if the job is split into two or more jobs (as aresult of being assigned to a Cluster, for example), these split jobsbear a supplemental number separated by an underbar to indicate theirassociation. In the above example, when the Job No. 12345 is sent to theCluster, the print job is split into Job No. 12345_(—)1 for color pagesand Job No. 12345_(—)2 for B&W pages. Upon this split, Job No. 12345disappears from the In Box Panel, and Job No. 12345_(—)1 appears under“Color Printer 1” and Job No. 12345_(—)2 appears under “BW Printer 1” inthe Printer Jobs Panel of the Main Screen.

A Virtual Queue overrides any job parameter values of a print job thatdo not match the values of corresponding job parameters specified by theVirtual Queue. For example, a Virtual Queue may specify a particular B&Wprinter, tray, paper size, and a particular paper type (such as plainpaper). In this case, when a print job designating color printing onA4-size 24 lb paper is sent to a Virtual Queue that specifies aparticular B&W Printer and letter-size 18 lb paper, for example, theprint job management server ignores these original job parameter valuesof the print job and replaces them with the job parameter valuesspecified by the Virtual Queue. As a result, the B&W printer prints outgrey-scale images on letter-size 18 lb paper. This feature is usefulwhen the existing printer settings do not match the requirements of aprint job, but the customer requests a quick review of the documentfirst, for example.

The server 4 may also be configured such that when all the printingsregarding the split print jobs are completed, the server 4 moves thesejobs to Completed Jobs Panel in the Main Screen. That is to say,according to the specific example presented above, when both printingsregarding Job Nos. 12345_(—)1 and 12345_(—)2 are completed, these Jobsmove to Completed Jobs Panel in the Main Screen. In a preferredembodiment, the split jobs are combined when their printings arecompleted, and the original Job Number of the print job appears inCompleted Jobs Panel. Virtual Queues and Clusters described above may becreated by users ir the print shop operators, depending on their needs.Default or sample Clusters and Virtual Queues may also provided as partof the print job management software for convenience to users. Forexample, through a drop-down menu from the “Queues” item at the top barof the Main Screen, a user may select “Cluster” and then “New” to open aCluster Editor to create or edit a Cluster.

Double clicking on an icon in the Destination Panel provides the userwith an access to the detailed properties of the Printers, Clusters, andVirtual Queues. More specifically, when a user double-clicks on a devicein the Destination Panel, a separate window appears displaying detailedinformation about the printer (or virtual printing device), such asprinter operating status, the number of outstanding print jobs that needto be processed before processing a new print job. In the case of aCluster (or a Virtual Queue), the pup-up window includes which printers(or a printer) are designated by the Cluster (or the Virtual Queue) andthe rules for assigning a print job to the multiple printers (or theprinter).

Operators often need to quickly identify the operating status and queueinformation of each possible printing device option to determine whichprinter (or virtual printing device) is suited for a particular printjob. The Destination Panel and Main Panel of this example has thefollowing various features to assist such operators.

In the Destination Panel, the parenthesized number at the Printer,Cluster and Virtual Queue icons visually indicates the number of jobs inthe respective print queue (i.e., a waiting list (a print spooler)indicating the number of outstanding print jobs that need to beprocessed before processing a new job.). Other status of the printers(and Cluster and Virtual Queue), such as “disconnected,” “unavailable,”“Error,” “Toner Low,” etc., may also be visually or pictoriallyindicated at or in the vicinity of each icon or in a separate pane. Forexample, the server may utilize appropriate color (such as green,yellow, red, etc.) or other pictorially appealing visual presentationscheme to indicate various operating status of the printers listed inthe Destination Panel. The operating status in this context may include“Active” or “Normal,” “Disconnected,” “Error,” “Serviced,” “Toner Low,”“Paper low,” “Connection Speed Low,” etc. For example, “Active” may beindicated by a green circle in front of the printer, “Error” may beindicated by a red circle, and “Toner Low” and “Paper Low” may beindicated by a yellow circle. Accordingly, the operator can quickly andaccurately recognize the availability of each printer. This willsignificantly reduce errors when the operator manually assigns printjobs to printers or virtual printing devices.

In the example of FIG. 2, the parenthesized number zero “0” at BWPrinter 3 indicates that there is no outstanding job at that printer.And the green circle in front of the printer shows that the operatingstatus of the printer is “Active” indicating that the printer is fullyoperational. FIG. 2 also shows that BW Printer 2 has one (1) outstandingprint job. The red circle in front of the printer indicates that theprinter needs to be serviced or is not operational at this time.

This color coding or similar visual presentation indicating theoperating status of each printer described above can also be utilized toprovide quick, at-a-glimpse presentation of the overall status of theprinter to users. Based on pre-defined or user specifiedrules/algorithm, the server can be configured so as to determine thedegree of the availability of each printer by taking into account boththe number of print jobs in the print queue and the operating status ofthe printer, for example.

FIG. 3 shows an example of such an algorithm. In step S301, the servercommunicates with each of the printers attached to it and determines thenumber of the outstanding print jobs that need to be processed beforeprocessing a new print job at that printer. In step S302, the serverdetermines whether the printer is operational. As described above, theprinter may not be accessible because of maintenance, or the toner orpaper may be low at that particular printer, or the connection speed maybe particularly slow at that printer. This step obtains information onsuch operating status of the printer. In step S303, the server analyzesthe results of steps S301 and S302 to derive the degree of theavailability of the printer. For example, the server can assign thelowest grade to all printers that are found to be non-operational. Itmay assign the highest grade to all printers that have less than 3outstanding print jobs in the print queue, and are fully operational.The server can assign an intermediate grade to all other printers. Instep S304, the server causes the display monitor to visually display thedegree of the availability derived in step S303 so that the operator canreadily identify the availability. For example, the highest grade may beindicated by a green circle in front of the printer. The intermediategrade may be indicated by a yellow circle in front of the printer, andthe lowest grade may be indicated by a red circle.

Because of the ease in recognizing the status, the color coding orsimilar pictorial presentation of the availability of the printingdevices, as described in the various examples above, is particularlyuseful when the operator needs to assign a large number of print jobs tovarious actual or virtual printing devices within a short period oftime.

Furthermore, in the example of FIG. 2, when a pointer is moved over anicon in the Destination Panel by a mouse movement or the like and thenis left unmoved at that position for a short period of time, moredetailed information and/or additional information regarding theprinting device is displayed in a small pup-up windows that appears inthe vicinity of the icon. For example, when a mouse pointer is movedover the BW Printer 3 icon, and is left still for one second, a smallrectangular window appears, which textually shows the IP address, themodel name, and the operating status of the printer, for example. Thisfeature further assists the user in quickly determining a desiredprinting device.

In another embodiment, when a user clicks on one of the icons of thevirtual printing devices displayed in the Destination Panel, all of theactual physical printers (or a printer in the case of Virtual Queues)that are associated with the selected virtual printing device arehighlighted to pictorially identify the associated printers (or theassociated printer). FIG. 2 shows that Cluster 1 is selected by clickingon that icon. As a result, BW Printer 1 and Color Printer 2 arehighlighted, indicating that these printers will be used when Cluster 1processes a print job. This feature is advantageous because the user canquickly identify what physical printer(s) is designated by the selectedvirtual printing device and, when coupled with one or more of theabove-described pictorial printer availability indication, the user canquickly and reliably determine whether the selected virtual printingdevice can process the print job without a long waiting period oradditional manual tasks. This will significantly help reduce the timerequired for the operator to assign print jobs to appropriate virtualprinting devices.

Located below the Destination Panel is Information Panel. TheInformation Panel displays various information concerning the item whichthe operator has selected using the mouse pointer or the like. Theoperator can select any active item that appears in the Main Screen (orin any window that can open in the print job management software) todisplay information relating to the selected item in the InformationPanel. In one embodiment, such an active items include: job ticketentries, group headers in the In Box Panel, printer headers in thePrinter Jobs Panel, and icons in the Destination Panel. This feature isparticularly useful when coupled with the visual presentation of theCluster and Virtual Queue configurations described just above. Forexample, as shown in FIG. 2, when the operator selects Cluster 1,causing highlighting of BW Printer 1 and Color Printer 2 in theDestination Panel, the Information Panel below indicates that Cluster 1splits a print job by color, and when the black and white page count isless than 7, all the printing will be performed by Color Printer 2. Thatis, the Information Panel displays the rules associated with thisCluster without requiring the user to open a separate window. This willfurther help the user quickly search for and locate a desired printer orvirtual printing device for processing a print job.

The method of selecting active items and printing devices in variousexamples above is not limited to clicking operations by a mouse or otherpointing device. For example, the server may be configured such thatsimply locating a pointer over a Cluster or Virtual Queue icon willtrigger the highlighting of the associated printers and the display ofthe relevant information in the Information Panel. Various otherselection operations in GUIs, such as giving a voice command or touchingon an icon on a touch screen, can also be used.

Also, the Destination Panel and the Information Panel, respectively, canbe removed from the Main Screen to appear as a separate window in thedisplay screen by double-clicking the header bar of the respectivepanels, for example, and by mouse operations, can be moved to aconvenient location on the display monitor.

Job Ticket

In embodiments of the present invention, print jobs are organized byusing database entries, named “Job Tickets.” A Job Ticket specifiesvalues of various print job parameters, such as paper size, paper type,user identification information and other related information, andassociates itself to the source file(s). To view the content of the JobTicket, a user can right click on a print job entry in any of the In BoxPanel, the Printer Jobs Panel, and the Completed Jobs Panel, and selects“View Job Ticket” from a pup-down menu, for example.

Based on instructions and information received from a customer, a printshop operator may manually enter the values of these job parametersusing a Job Ticket Editor screen, which is a graphic user interface(GUI) accessible from the Main Screen by an operator through a Windowspup-down menu or other means.

FIG. 4 shows an example of the data content of a Job Ticket. Referringto FIG. 4, in this particular example, a Job Ticket includes a JobTicket number, Ticket Name as well as the values of the following groupsof various other job parameters: Job Info Settings, Basic Settings,Layout Settings, Cover Sheet, Finishing Settings, Inter-Sheet Settings,Tab-Paper Settings, Image Quality Settings, and Customer Information.

Job Info Settings include Job Name, Submit Time, Completed Time, DueDate, Type (print or copy), Priority, the identity of the person whocreated the Job Ticket, Job Location, and Queue Recommendation (i.e., arecommendation on a particular printer or other destination). Job InfoSettings further include the directory pass at which the file containingthe document to be printed is located in a local or networked harddrive, the number of B&W pages, the number of color pages, and SpecialInstructions.

Basic Settings include the number of copies to be made, the orientationof paper (portrait or landscape), information on collate printing,information on offset printing, the original paper size, the outputpaper size, the paper type, and paper source information, such as traynumbers. Layout Settings include settings concerning print layout. CoverSheet includes settings on cover sheets to be produced or prepared.Finishing Settings specify paper finishing settings, including the paperbinding options, such as stitch, staple, and punch.

In addition, the server may be configured to access and analyze thesource file to determine the values of some of the job parameterdirectly from the source file. Then the server enters these values inthe corresponding job parameter entries in the corresponding Job Ticketwithout requiring a user to manually enter them. This will helpeliminate clerical errors and further facilitate the operation of theprint shop.

In this application, the term “value” means, when referred to withrespect to variables or parameters, any numerical quantity, characters,and other types of entries that can specify variables or parameters, andincluding, but not limited to, a specific setting of any of the jobparameters appeared herein.

Job Grouping

Each day, a print shop receives a large number of new print jobsspecifying a variety of printing requirements. As arrived, these printjobs are not organized, yet they must be processed promptly andaccurately. Embodiments of the present invention offer an efficient andhighly transparent organization of incoming print jobs to facilitate theoperation of a print shop. To this end, a print job management server ofembodiments of the present invention analyzes incoming print jobs andclassifies the incoming jobs into several or more groups based onprescribed criteria so that the incoming print jobs are purposefullyorganized and arranged for use in subsequent processes by the server andthe operator.

FIG. 5 is a flow chart illustrating a method for managing a plurality ofprint jobs, which is implemented in a print job management server,according to an embodiment of the present invention. In step S501 theprint job management server receives a plurality of print jobs. In StepS502, the server prescribes grouping criteria for classifying incomingprint jobs. Step S501 can be performed before or after Step S502, or atthe same time. With the grouping criteria set in step S502, the printjob management server automatically classifies all incoming print jobsinto groups without requiring any user intervention (S503). In stepS504, the print job management server transmits a result of the groupingfor use by the user or the print management system. For example, in stepS504, the server may cause an attached display monitor to display theresult of the grouping to a user so that the user can utilize thegrouping information in subsequent operations. Also, print jobs thathave been assigned to a particular group may manually or automaticallybe submitted to a particular printer for printing.

Once the grouping criteria is given, the print job management server ofembodiments of the present invention can be set up so as to analyze allincoming new print jobs automatically to start the grouping operation onthe incoming print jobs (referred to as “Auto Grouping Mode”hereinafter). Alternatively, the print job management server can be setup such that all incoming print jobs are first placed under the IncomingJobs header in the In Box panel and the grouping operation is commencedupon a request form a user (referred to as “On-Demand Grouping Mode”hereinafter). At any rate, in both Modes, once grouping is initiated,there is no need for the user to intervene the operation—the grouping ofthe print jobs continues until the user interrupts, or until thegrouping is completed. If a print job is determined not to belong to anyof the existing Groups, such a job is left under the Incoming Jobsheader in the In Box panel as unassigned.

FIG. 6 shows In Box Panel displaying a result of a grouping operation.As shown in FIG. 6, grouped print jobs are placed under respective groupheaders in the In Box Panel. Basic job parameter values of each printjob are also conveniently displayed on the screen. This particular InBox Panel shows that there are at least two Groups currently: Group BILand Group 1 ET. Group BIL contains 3 print job entries. The print jobslisted under Group BIL all have the same priority setting, the samepaper size and the same color setting (B&W). However, a print job entryunder Group 1 ET (Job No. 99999_(—)2) differs from the entries underGroup BIL in at least paper size and color settings. This visualpresentation provides a user with convenient and reliable access to thestatus of print job grouping. For example, it reduces the amount of timeoperators have to spend in matching print jobs to printers (or virtualprinting devices, such as Clusters and Virtual Queues), and also allowsmore efficient use of printers. With appropriately designed groupingcriteria, all print jobs categorized in a particular group may be sentto a single destination device, such as a particular printer, Cluster,or Virtual Queue, at once. For example, the three entries under GroupBIL in FIG. 6 may be submitted to an appropriate B&W printer at once.

Manual Creation of Target Groups

As the grouping criteria for grouping print jobs, fixed target Groups towhich incoming print jobs are being assigned can be specified inadvance. For example, a print shop operator can manually create eachtarget Group by specifying values of certain job parameters using aGroup Editor screen, which is accessible from the Main Screen by theoperator. FIG. 7 schematically illustrates an example of the GroupEditor Screen. As shown in FIG. 7 an operator can type in, or choosefrom the drop-down menu, values of these job parameters. In thisparticular example, the job parameters that can be specified by the userto define a Group include Customer Information (e.g., the customername), Priority (high, medium, or low), Color Settings (Color Only,Black & White only, Mixed), Copies (the number of copies), Paper (size,type, weight color, input tray number), Finishing, and SpecificInstructions. In a preferred mode, a set of the job parameters that canbe set to define a Group is a subset of the job parameters that can beset to define a Job Ticket (thereby a print job) described above.

Alternatively, a Group can be created by referencing to a particularprint job. The operator may select a single print job and use the GroupEditor to create a new Group by imposing all or part of the jobparameter values of the selected job onto the new Group. For example,the print job management server can be set such that by right-clickingon a print job entry in the In Box Panel on the screen, the operator canchoose the “Create Group” option to open the Group Editor screen thatalready contains all job parameter values transferred from the JobTicket of the print job. The operator can then accept all the values, asit is, or if desired, delete or modify some of the job parameter valuesto create a Group. This way, the operator can easily create desiredGroups.

While the above example of the Group Editor allows the operator to setthe values of numerous job parameters, the operator does not have tospecify the values of all of the job parameters that appear in the GroupEditor to define a Group. By setting only some of the job parameters, aGroup defined by only those job parameter values (high-level group) canbe created. For example, if a Group is created by setting the jobparameter “Color” to “Black and White” and the job parameter “PaperSize” to “8.5×11,” all incoming jobs that have the same values in Colorand Paper Size job parameters (i.e., B&W and 8.5×11) will be placed inthat Group regardless of the values of other job parameters. Thus,depending on the user needs and design of the system, mutually exclusiveGroups, overlapping Groups, and hierarchically structured Groups can becreated. However, if desired, the server can permit only certain typesof group creations. For example, it can be configured so that onlymutually exclusive Groups can be created by a user. Furthermore, insteadof specifying particular values of job parameters, a range of jobparameters can be specified to define Groups.

Further, default Groups can be provided so that often-used Groups arepre-installed in the print job management server. The data that definesdefault Groups can be stored in a storage device that is accessible fromthe print job management server.

FIG. 8 illustrates a grouping method using predefined Groups accordingto an embodiment of the present invention. Thus, this example assumesthat the server already defined Groups into which incoming print jobswill be placed, as the grouping criteria. The print job managementserver first analyzes all the predefined Groups created by a user (S801)to determine the properties of the predefined Groups, and compares thejob parameter values of the Groups with the values of the correspondingjob parameters of the incoming print job (S802). If an incoming jobdefined by a Job Ticket matches the job parameter values of a Group(S803), the job is placed in that Group (S804) and listed under theheader of that matching Group in the In Box Panel on the screen. Forexample, suppose that Group 1 ET is defined by specifying values of thejob parameters of Customer, Color Settings, Copies, Paper, Finishing,and Special Instructions. If the print job management server finds aprint job that has exactly the same respective values in these jobparameters, such a print job will be placed under the Group 1 ET headerin the In Box Panel. Other appropriately designed comparison/groupingalgorithms may also be used.

Automatic Creation of Target Groups

Rather than using predefined or user-specified static Groups, the printjob management server can be configured such that target Groups arecreated dynamically based on the job parameter values of incoming printjobs. In this mode, the server first determines one or more of the jobparameters to look for, and analyzes the values of these job parametersin incoming print jobs. According to the values of the job parameters,the server groups the incoming print jobs into separate groups. Thus,groups are created based on values of these particular parameters in theincoming print jobs, thereby eliminating the user's need to createGroups. The print job management server can use this scheme as thegrouping criteria for conducting the automatic grouping operation.

FIG. 9 illustrates an example of an algorithm that can be implemented onthe server to perform this operation, according to an embodiment of thepresent invention. As shown in FIG. 9, a user first selects a particularjob parameter (or job parameters) to define grouping criteria (S901).When a first print job arrives, the value of the selected job parameteris read out from the print job (Job Ticket) to define a first Group(S905) (assuming that there is no previously defined Group to put thefirst print job into) so that the first Group will receive all printjobs that have the same value as the first print job in the selected jobparameter. The first print job is categorized into the first Group justcreated (S904). Thereafter, subsequent print jobs are analyzed todetermine whether the print jobs belong to the first Group (S902, S903).All subsequent print jobs that have the same job parameter value as thefirst Group are placed in the first Group (S904). When a print jobhaving a different value in the selected job parameter arrives, a newGroup (second Group) is created based on the new value of the jobparameter found in such a new print job (S905). Like operations continueto create the third, fourth, . . . Groups. Thus, once a job parameter(or job parameters) according to which the grouping operation isperformed (S901) is selected, the grouping operation (steps S902-S905)can be performed without user intervention. Other appropriately designedcomparison/grouping algorithms may also be used.

For example, the operator can choose the “Finishing” job parameter todefine criteria for grouping print jobs. Suppose that first 10 incomingprint jobs have only two differing values in Finishing: “left-sidestaple” (4 jobs) and “bare printing” (6 jobs). Then, when analysis ofthese first 10 print jobs is completed, two Groups corresponding tothese two job finishing values are automatically created and these 10print jobs are placed in the respective groups. If the 11th incoming jobhas a “right-side staple” value in the Finishing job parameter, then anew Group is created and the 11th job is placed in that Group. Thesimilar operations continue until the operator interrupts it, or after acertain user-specified number of incoming jobs are processed, forexample.

The name of the Groups that are created in this way can be set by usinga certain predetermined rule, such as using the first three letters ofthe job parameter that defines the groups, followed by a numericalnumber, for example. In the above example, the names of the first andsecond Groups would be FIN1 and FIN2, and the name of the third Groupwould be FIN3. This way, the grouped print jobs are listed under theappropriately named group header in the In Box Panel on the screen.

In another embodiment, rather than serially processing the abovegrouping operation, a plurality of print jobs can be grouped at once ina similar manner. For example, after a certain number of print jobscomes in under the Incoming Jobs header in the In Box Panel and is piledup there, the operator may enter an automatic grouping command byselecting one or more of job parameters to prescribe the groupingcriteria. In response, the server will process the print jobs from thetop of the print jobs listing under the Incoming Jobs header using theprocess described above, so that all print jobs that are then listedunder the Incoming Jobs header will be grouped in accordance with theselected job parameter(s).

The grouping operation can also be applied to a set of print jobs thatare selectively picked up by an operator. For example, a user may selecta certain set of print jobs by selectively highlighting print jobentries in the In Box Panel, and then instruct the server to perform theabove-described grouping operations.

During or after the grouping operation, an operator can open and monitorthe contents of groups by reviewing the In Box Panel. As noted above,the operator can assign the print jobs that belong to a particular Groupto a desired destination device, such as a Group, a Cluster or a VirtualQueue, for printing.

The server can be also configured so that once grouping is completed (orduring the grouping process), all print jobs grouped into a particularGroup are immediately submitted to a particular printer, a particularCluster, or a particular Virtual Queue for printing without a delay(referred to as “Auto Printing Mode”). If coupled with the automaticgrouping operations described above, grouping of print jobs and printerassignment and execution of printing can all be performed without userintervention. This mode is referred to as “Full Auto Mode.” In the FullAuto Mode, the groups dynamically created as described above may only betransitory, and may be configured to disappear once print jobs in therespective group are submitted to printing devices for printing, forexample.

Queues Panel

As described above, print jobs specify a variety of job parameters, suchas color, paper type, paper size and finishing options. There isvirtually an unlimited number of possibilities in job parameter settingsof print jobs. However, due to limited functionalities of each printer,once set up in a certain way, even a very large print shop cannot handleevery conceivable print job without altering the initial settings ofsome of the installed printers. The print jobs that cannot be handledwithout altering the existing printer settings are referred to as“non-standard print jobs” hereinafter. To name a few examples, evencommercial grade high-end printers have a finite number of input papertrays, each containing paper of a particular size, such as letter sizeor legal size, and may not be equipped with sophisticated finishingfunctions that are required by certain jobs. Such printers cannot beused when a particular finishing option is specified. Thus, in order tomeet today's customer needs, print shop operators must often change thesettings of the existing printer(s), the paper size in a paper tray,etc., in order to process non-standard print jobs.

However, it is not always easy to find a printer whose settings arerelatively easily changed. The operator can review the values of the jobparameters set in the requested print job by selecting the job entry inthe In Box Panel and by opening the Job Ticket screen. The operator canalso review the printer settings of each of the printers (or virtualprinting devices) by, for example, clicking on printer icons displayedin the Destination Panel. Then, theoretically, the operator can manuallycompare the values of job parameter set in the print job with theprinter settings to find out a printer having the initial printersettings that are closest to the corresponding parameter values of theprint job. However, when numerous printers (and virtual printingdevices) are available for printing, this search is cumbersome andtime-consuming.

Auto-printing operations discussed above will often leave print jobsthat do not meet any of grouping criteria in the Incoming Jobs pane. Inorder to print these jobs, they must be manually assigned to aprinter(s). Also, a user may elect to manually select a printer deviceeven though automated grouping and printing options are possible. Whennumerous printers are available, manually locating the best or exactmatching destination device (Printer, Cluster or Virtual Queue) is adifficult and time consuming task.

A print job management server according to embodiments of the presentinvention provides convenient features to assist users to find aprinting device (a Printer, a Cluster or a Virtual Queue) that exactlyor closely conforms to the job parameter values of a print job. In oneembodiment, a print job management server compares the printer settingsof each of the printers with the values of relevant job parameters of aprint job, and if any of the printer settings in one printer matches thecorresponding parameter value in the print job, that match iscommunicated to the user.

In a particular embodiment, the print job management server can launch aQueue Panel at request of a user. For example, when an operator selectsa particular print job by clicking one of the print job entries in theIn Box Panel, a Queue Panel window appears. The Queue Panel displays allPrinters, Clusters and Virtual Queues that are connected or defined bythe print job management server as available printing devices forprinting jobs, and highlights the printer settings that match thecorresponding job parameter values of the print job in question.

FIG. 10 illustrates an example of the Queue Panel for a specified printjob. Referring to FIG. 10, the Queue Panel lists all available printersand software-defined virtual printing devices: Printers, Clusters, andVirtual Queues, together with the printer settings of Color, Paper Size,and Paper Type of each printer. If any of the printer settings of theseparameters match a value(s) of the corresponding job parameter(s)specified in the print job, such a printer setting is highlighted inyellow. With this information, the user can narrow the search for thebest printing device to process the print job. In the example of FIG.10, the Queues Panel indicates that BW Printer 1 1050 has paper trays1-3, respectively containing various sized paper of different types. Asindicated in yellow, the Queues Panel shows that the Paper Size andPaper Type settings in Tray 2 of the printer match the Paper Size andPaper Type values of this particular print job. Similarly, otherhighlighted portions indicate that the printer settings match some ofthe job parameter values of this print job. The status of each printer,such as operating status, the number of spooled print jobs, andapproximate waiting time, is also displayed in the corresponding headerrow to assist the operator, which is also convenient to a user. Forexample, if two Printers are found to have an exact match with respectto these three printer settings, the operator can select one of thePrinters that has a less waiting time for printing.

Thus, the Queue Panel displays how each printing device conforms to thejob parameter values required by a print job. Therefore, a user caneasily and quickly locate a printing device to perform the requestedprint job or to find out which printer settings should be modified toperform the requested print job. In essence, the data in the Queue Panelprovides the key data the operator needs to complete this otherwisetime-consuming and difficult task.

When a printer that does not have a perfect match (meaning, say, thereis no match in Paper Size) receives the print job, the print jobmanagement system can be configured such that the monitor at theselected printer will display a warning message indicating that theoperator has to perform a certain manual task to complete the submittedprint job. For example, when the operator at the server selects aprinter that has a match only for the Color and Paper Type settings, anoperator at the printer will be notified that the paper size of acertain input tray needs to be changed to a particular paper size toprocess the print job. Alternatively, before selecting such anon-matching printer as the job destination, the operator can change thepaper size in advance so that the Queue Panel now displays a perfectmatch to that printer.

The Queue Panel of the above example also has the following advantage.As described above, a Cluster is a combination of two or more of theprinters together with specified rules/algorithm to perform a print job.The Queue Panel visually provides a point-of-reference for the operatorto see these linked printers to determine which features of theseprinters mach the requirements of the selected print job. This visualreference makes the Cluster feature easier to locate, identify and use.Moreover, even when a perfect match is not found with respect to aCluster, the operator can easily identify what particular printersetting needs to be changed (or to be ignored) in order to cause aperfect match (or a quasi-perfect match) of the selected print job tothe Cluster.

The printer settings that can be displayed in the Print Queues Panel arenot limited to Color, Paper Size, and Paper Type. Depending on needs andthe design of the print management system, other parameters, such asFinishing options, Layout Settings (e.g., double-sided or single-sided)may be listed in addition or in lieu of these parameters.

Thus, in order to help the operator determine a virtual or actualprinting device for a print job, the Queue Panel lists destinationdevices (Printers, Clusters, and Virtual Queues) together withinformation on the printer status and information regarding matching ofeach printer setting with the specified printer job. This is useful andconvenient especially where a large number of printers with variousprinter settings need to be managed by the print job management server.

In a preferred mode, as described above, the Queue Panel lists allconnected printers and other virtual printing devices (Clusters andVirtual Queues). However, depending on the user preference, it may listonly printers that have at least one setting that is found to match thejob parameter value of the print job in question. This feature may beadvantageous where the number of connected printers controlled by theserver is very large and the Queues List would otherwise contain a longlist of the printers and other virtual printing devices.

Printing Device (Printer/Cluster/Virtual Queue) Recommendation

As described above, the Queue Panel lists all the connected actual andvirtual printing devices (Printers, Clusters, and Virtual Queues)together with information on the printer status and informationregarding matching of each printer setting with the specified printerjob. Based on the information displayed on the Queue Panel, the operatormanually determines the best-matched and/or the second-best destinationdevice(s). In another embodiment of the present invention, the print jobmanagement server can perform this determination in accordance with auser defined or preset criteria. This will further improve the ease andefficiency of print managing operations.

In one embodiment, given a print job, the print job management server ofthe present invention can recommend one or more printing devices(Printer, Cluster, or Virtual Queue) for that particular print job. Byusing an algorithm implemented by software, for example, the print jobmanagement server determines the suitableness of the printing devicesfor the print job. For example, the print job management server willfirst look for a printing device that supports the color of the documentto be printed (i.e., the Color job parameter in the print job). Then,the print job management server will look for finishing option matches,and then will look for paper-related options, such as paper size andpaper type, in order to progressively narrow the search for the bestmatching printing devices. The algorithm may be preset in the print jobmanagement software installed on the server, or it may be modified oraltered by user inputs. For example, the server can be configured suchthat the operator can determine the priority in which the serverconsiders these settings prior to making recommendations. Alternatively,or in addition, the operator can specify the algorithm itself to beused, such as which parameter should be used in what order in order toperform the recommendation operation.

In a particular embodiment, when the operator first selects a particularprint job and selects the “View Recommends” option from the drop-downmenu (or select View Recommends icon in the icon bar of the MainScreen), the server performs a searching operation in accordance withthe above-described algorithm to determine a recommended printingdevice(s). Then, the server will launch a View Recommends Panel tovisually indicate the recommended printing devices to the operator. Inthis example, although the arrangement of entries in the View RecommendsPanel is similar to that of the Queues Panel, the View Recommends Panellists only those printing devices (Printer, Cluster, or Virtual Queue)that are recommended by the print job management server.

As in the Queue Panel, a View Recommends Panel also lists the status ofthe printers listed therein. Based on the information displayed on theView Recommends Panel, the operator can readily decide what destinationdevice to use for processing the print job. For example, if there aremore than one exact matching printing devices, the operator may pick adevice that has a shorter waiting time.

FIG. 11 illustrates an example of the View Recommends Panel. In FIG. 11,BW Printer 1 and BW Printer 2 appear in the View Recommends Panel,indicating that they are the recommended printing devices for Job Ticket#0003. As indicated by green-highlighted printer name and correspondingprinter setting rows, these printers equally qualify, both having anexact match in the Paper Size, Paper Type and Color settings. However,the connection status of BW Printer 2 shows “Error,” indicating that theprinter needs to be serviced and is not available for immediateprinting. Thus, the operator will likely choose BW Printer 1 for thisprint job.

FIG. 12 illustrates another example of the View Recommends Panel.Cluster 1 appears in the View Recommends Panel, indicating that Cluster1 is the recommended printing device for Job Ticket #0001. As indicatedin yellow highlighted printer name row, Color Printer 2 currently doesnot have printer settings that exactly match the corresponding jobparameter values of the print job. In this example, the Paper Type jobparameter mismatches. The operator needs to manually replace the papercontent of Tray 2 of Color Printer 2, or if desired, can force the printjob to be processed through Tray 2 to process this Job Ticket.

Because the server can determine printing devices that are suited to agiven print job and the result is visually presented along with statusinformation of each recommended printing device, an operator can easilyidentify the best printing device option for printing or for changingprinter settings.

Selection Panel

In another embodiment, the above-described features of the Queue Paneland View Recommends Panel are combined so that all the information andfunctionalities discussed above with respect to these panels areaccessible from a single, conveniently designed panel. In a particularembodiment, in place of the Queue Panel and View Recommends Panel, aView Selection panel is provided. When a user selects a print job in theIn Box, and clicks on the “View Selection” button in the icon header row(or from the drop-down menu), a “Selection Panel” opens. A recommendedprinting device (or devices) appears in a manner similar to thatdiscussed above. For example, a recommended printing device(s) ishighlighted and expanded to show how printer settings match the jobparameter values of the specified print job. A printing device(s) thathas a perfect match with respect to all of the relevant printer settingsmay be highlighted in green and the corresponding tray may also behighlighted in green. The second best match that has a match in onlysome of the printer settings may be highlighted in yellow. Thus, as inthe case above, the degree to which the printing devices match the printjob can be indicated using different color.

All other non-recommended printing devices also appear in the SelectionPanel. To save the space, printing devices that do not have a perfectmatch may be listed by presenting only their printing device names, forexample. However, if desired, the operator can click on the printingdevice name to expand it, and review detailed printer settings of theselected printing device and how each of the printer settings matchesthe specified job parameter value. As in the case of Queue Panelsdiscussed above, the individual printer settings that match thespecified value of the print job parameter may be separately highlightedin yellow.

FIG. 13 illustrates an example of the Selection Panel. At the top headerrow of the panel, the name of the panel, “Selection Panel” appears alongwith the number of Printers, Clusters, and Virtual Queues that areconnected to the server. Just below the header row is shown informationon the Job Ticket, indicating the job ticket number and the job name aswell as the paper size, paper type, color and finishing optionsspecified by the print job. As the print job parameters for thefinishing options, this example designates Staple, Fold, Booklet andDuplex.

The rest of the panel is also designed in a manner similar to the QueuePanel and the View Recommends Panel discussed above. The panel listsprinting devices (Printers, Clusters, Virtual Queues) along with theirprinter settings and indicates how these printer settings conform to thejob parameter values specified in the print job. In the example of FIG.13, each row of the paper tray indicates the paper size, the paper type,and the color of paper in the tray as well as information on whetherpaper fed from that paper tray can be processed by the followingfinishing options: Staple, Fold, Booklet, and Duplex. For example the“X” mark under Staple column indicates that the Staple finishing isavailable.

In this example, Printer 1 and its Try 1 are highlighted in green,indicating that the printer settings perfectly match the print jobrequested. Indeed, it can be seen that the job parameter values of thisprint job, listed on the top of the Panel, match the respective printersettings listed for Tray 1 of Printer 1.

The size of the Selection Panel window is designed such that when thepanel initially opens, the recommended printing devices are shown in thewindow. FIG. 13 shows the highlighted Printer 1 on the top, followed byPrinter 2 and collapsed entries of Clusters and Virtual Queues. TheSelection Panel of this example, however, contains all the printingdevices (Printers, Clusters, Virtual Queues) connected to the server sothat the status and other information, discussed with reference to QueuePanels above, of each of these devices are also accessible through thisPanel by the user. By scrolling down the window and/or expanding thewindow, the user can access these printing devices and review thecontent.

The printing devices that do not qualify as recommended devices arecollapsed to show only their names (or their type if there is no much inan entire type of printing devices) to save the space. In FIG. 13, thereis no recommended printing device in Clusters and Virtual Queues.Therefore, only the names of the device type (Clusters and VirtualQueues) appear in the Selection Panel. If a user wishes to see theprinter settings of these devices, the user can click on the device typename and then on a printing device name to expand the view.

As in the Queue and View Recommends Panels, the Selection Panel alsolists the status of the printing devices. Based on the informationdisplayed on the Selection Panel, a user can readily decide whatprinting device to use for processing the print job. For example, ifthere are more than one exact matching printing devices, the operatormay pick a device that has a shorter waiting time. Further, using anappropriate algorithm, the server may be configured to refer to thestatus information of these printing devices and automatically determinethe best matching printing device for presenting to the user.

In the above descriptions, the term “black and white” includes grayscales if the black and white printers are capable of printing grayscale images (e.g. using half-toning or some other suitable method).

While the embodiments have been described as being applied in a printshop environment, the invention is not limited to any physical settingof a shop or network, and can be applied to a print shop system having adistributed setting where printers at different locations are connectedto a server. In particular, it should be apparent that one or more ofthe components of the print shop system can communicate with the rest ofthe system via virtual private network (VPN) or similar means throughthe Internet. Moreover, referring to FIG. 1, although the server 4 ofthe above examples functions as the print job management server as wellas the network server, a separate stand-alone computer may be providedto run the print job management software. In the alternative, whenproperly configured, one of the client computers 1 and 2 or thecomputers attached to one of the printers 5-9 (if such a printer existsamong them) may be used to assume the role of the print job managementserver. Further, although the above-referenced figures show particulardesigns of various windows, including the Main Screen, the In Box Panel,the Printer Jobs Panel, the Completed Jobs Panels, the DestinationPanel, and the Information Panel, the present invention is not limitedto the particular designs depicted in these figures and described above,and broadly encompasses various other designs that can perform theoperations and functionalities described above. Furthermore, although aWindows based server computer with appropriate software has beendescribed above as an example, a print management system of the presentinvention can be implemented in a proprietary hardware system that isspecifically designed to perform the above-described variousfunctionalities of the print management system.

It will be apparent to those skilled in the art that variousmodification and variations can be made in the print management methodand apparatus of the present invention without departing from the spiritor scope of the invention. Thus, it is intended that the presentinvention cover modifications and variations that come within the scopeof the appended claims and their equivalents.

What is claimed is:
 1. A method for managing printers, implemented in aprint job management apparatus connected to physical printers, the printjob management apparatus being connected to a display monitor, themethod comprising: (a) on the display monitor, displaying a list of thephysical printers in a physical printer pane and displaying a list ofvirtual printing devices in a virtual printer pane separate from thephysical printer pane, each virtual printing device being defined bydesignating one or more of the physical printers together withpre-defined rules for processing a print job; (b) receiving a commandfrom a user to select a virtual printing device among the list ofvirtual printing devices listed in the virtual printer pane; and (c) inresponse to said command and without any direct user interaction withthe physical printer pane, visually distinguishing the selected virtualprinting device in the virtual printer pane from other virtual printingdevices listed in the virtual printer pane, while visuallydistinguishing in the physical printer pane the one or more of thephysical printers designated by the selected virtual printing devicefrom the other physical printers listed in the physical printer pane onthe display monitor by changing a display effect of the designatedphysical printers in the physical printer pane from that displayed instep (a) while continuing to display the other physical printers in thephysical printer pane.
 2. The method of claim 1, wherein said list ofthe physical printers and said list of the virtual printing devicesinclude visual representations of said physical printers and said one ormore virtual printing devices, respectively.
 3. The method of claim 1,wherein said list of the physical printers displays a status of eachphysical printer.
 4. The method of claim 3, wherein the status of thephysical printer includes a number of print jobs that are outstandingand need to be processed before processing a new print job.
 5. Themethod of claim 3, wherein the status of the physical printer includesan operating status of the physical printer.
 6. The method of claim 3,wherein the status of each physical printer is indicated by a colorcoding.
 7. The method of claim 1, wherein said list of the physicalprinters and said list of the virtual printing devices includeiconographical representations of said physical printers and said one ormore virtual printing devices, respectively.
 8. The method of claim 1,further comprising: receiving a command from a user to define a virtualprinting device.
 9. The method of claim 1 further comprising: inresponse to said command, displaying the pre-defined rules of theselected virtual printing device on the display monitor.
 10. Anon-transitory computer program product comprising a computer usablemedium having a computer readable code embodied therein for controllinga data processing apparatus connected to physical printers, the dataprocessing apparatus being connected to a display monitor, the computerreadable program code being configured to cause the data processingapparatus to execute a process for managing the physical printers, theprocess comprising: (a) causing the display monitor to display a list ofthe physical printers in a physical printer pane and displaying a listof virtual printing devices in a virtual printer pane separate from thephysical printer pane, each virtual printing device being defined bydesignating one or more of the physical printers together withpre-defined rules for processing a print job; (b) receiving a commandfrom a user to select a virtual printing device among the list ofvirtual printing devices listed in the virtual printer pane; and (c) inresponse to said command and without any direct user interaction withthe physical printer pane, causing the display monitor to visuallydistinguish the selected virtual printing device in the virtual printerpane from other virtual printing devices listed in the virtual printerpane, while visually distinguishing in the physical printer pane the oneor more of the physical printers designated by the selected virtualprinting device from the other physical printers listed in the physicalprinter pane on the display monitor by changing a display effect of thedesignated physical printers in the physical printer pane from thatdisplayed in step (a) while continuing to display the other physicalprinters in the physical printer pane.
 11. The computer program productof claim 10, wherein said list of the physical printers and said list ofthe virtual printing devices include visual representations of saidphysical printers and said one or more virtual printing devices,respectively.
 12. The computer program product of claim 10, wherein saidlist of the physical printers displays a status of each physicalprinter.
 13. The computer program product of claim 12, wherein thestatus of the physical printer includes a number of print jobs that areoutstanding and need to be processed before processing a new print job.14. The computer program product of claim 12, wherein the status of thephysical printer includes an operating status of the physical printer.15. The computer program product of claim 12, wherein the status of eachphysical printer is indicated by a color coding.
 16. The computerprogram product of claim 10, wherein said list of the physical printersand said list of the virtual printing devices include iconographicalrepresentations of said physical printers and said one or more virtualprinting devices, respectively.
 17. The computer program product ofclaim 10, wherein said process further comprises: receiving a commandfrom a user to define a virtual printing device.
 18. The computerprogram product of claim 10, wherein said process further comprises: inresponse to said command, causing the display monitor to display thepre-defined rules of the selected virtual printing device.
 19. Anapparatus for managing physical printers, comprising: physical printers;a display monitor; and a data processor connected to the physicalprinters and the display monitor, the data processor causing the displaymonitor to display a list of the physical printers in a physical printerpane and displaying a list of virtual printing devices in a virtualprinter pane separate from the physical printer pane, each virtualprinting device being defined by designating one or more of the physicalprinters together with pre-defined rules for processing a print job; thedata processor being configured to receive a command from a user toselect a virtual printing device among the list of virtual printingdevices listed in the virtual printer pane, the data processor, inresponse to said command and without any direct user interaction withthe physical printer pane, causing the display monitor to visuallydistinguish the selected virtual printing device in the virtual printerpane from other virtual printing devices listed in the virtual printerpane, while visually distinguishing in the physical printer pane the oneor more of the physical printers designated by the selected virtualprinting device from the other physical printers listed in the physicalprinter pane on the display monitor by changing a display effect of thedesignated physical printers in the physical printer pane whilecontinuing to display the other physical printers in the physicalprinter pane.
 20. The apparatus of claim 19, wherein said list of thephysical printers and said list of the virtual printing devices includevisual representations of said physical printers and said one or morevirtual printing devices, respectively.
 21. The apparatus of claim 19,wherein said list of the physical printers displays a status of eachphysical printer.
 22. The apparatus of claim 21, wherein the status ofthe physical printer includes a number of print jobs that areoutstanding and need to be processed before processing a new print job.23. The apparatus of claim 21, wherein the status of the physicalprinter includes an operating status of the physical printer.
 24. Theapparatus of claim 21, wherein the status of each physical printer isindicated by a color coding.
 25. The apparatus of claim 19, wherein saidlist of the physical printers and said list of the virtual printingdevices include iconographical representations of said physical printersand said one or more virtual printing devices, respectively.
 26. Theapparatus of claim 19, wherein said data processor further receives acommand from a user to define a virtual printing device.
 27. Theapparatus of claim 19, wherein said data processor, in response to saidcommand, further causes the display monitor to display the pre-definedrules of the selected virtual printing device.
 28. The method of claim1, wherein step (a) includes visually displaying a degree ofavailability for each physical printer in the physical printer pane. 29.The method of claim 28, wherein the degree of availability for eachphysical printer is derived from a number of outstanding print jobs atthe printer and an operating status of the printer.
 30. The computerprogram product of claim 10, wherein step (a) includes visuallydisplaying a degree of availability for each physical printer in thephysical printer pane.
 31. The computer program product of claim 30,wherein the degree of availability for each physical printer is derivedfrom a number of outstanding print jobs at the printer and an operatingstatus of the printer.
 32. The apparatus of claim 19, wherein the dataprocessor causing the display monitor to visually display a degree ofavailability for each physical printer in the physical printer pane. 33.The apparatus of claim 32, wherein the degree of availability for eachphysical printer is derived from a number of outstanding print jobs atthe printer and an operating status of the printer.